HEX
Server: Apache/2.4.68 (Debian)
System: Linux as-cs-widget-demo-us-central1 6.1.0-44-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.164-1 (2026-03-09) x86_64
User: root (0)
PHP: 8.2.32
Disabled: NONE
Upload Files
File: /var/www/kevin-demo/wp-content/plugins/wpforms/vendor_prefixed/apimatic/core/src/ApiCall.php
<?php

declare (strict_types=1);
namespace WPForms\Vendor\Core;

use WPForms\Vendor\Core\Request\RequestBuilder;
use WPForms\Vendor\Core\Response\Context;
use WPForms\Vendor\Core\Response\ResponseHandler;
class ApiCall
{
    private $coreClient;
    /**
     * @var RequestBuilder|null
     */
    private $requestBuilder;
    /**
     * @var ResponseHandler
     */
    private $responseHandler;
    public function __construct(Client $coreClient)
    {
        $this->coreClient = $coreClient;
        $this->responseHandler = $coreClient->getGlobalResponseHandler();
    }
    public function requestBuilder(RequestBuilder $requestBuilder) : self
    {
        $this->requestBuilder = $requestBuilder;
        return $this;
    }
    public function responseHandler(ResponseHandler $responseHandler) : self
    {
        $this->responseHandler = $responseHandler;
        return $this;
    }
    public function execute()
    {
        $request = $this->requestBuilder->build($this->coreClient);
        $request->addAcceptHeader($this->responseHandler->getFormat());
        $this->coreClient->beforeRequest($request);
        $response = $this->coreClient->getHttpClient()->execute($request);
        $context = new Context($request, $response, $this->coreClient);
        $this->coreClient->afterResponse($context);
        return $this->responseHandler->getResult($context);
    }
}